#include<iostream>

using namespace std;
int main()
{

/*	const int m = 1000;

	int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11;
	int i = 1;
	int k = 1;
	int k_half = k / 2;
	a1 = 1;
	a11 = i;
 	a2 = 0;
	a3 = 0;
	a4 = 0;
	a5 = 0;
	a6 = 0;
	a7 = 0;
	a8 = 0;
	a9 = 0;
	a10 = 0;
	*/
	
//	do{

/*		if (k%i == 0)
		{
			a2 = i;
			i++;
		}
*/
/*
		if (k%i == 0)
		{
			a3 = i;
			i++;
		}

		if (k%i == 0)
		{
			a4 = i;
			i++;
		}

		if (k%i == 0)
		{
			a5 = i;
			i++;
		}

		if (k%i == 0)
		{
			a6 = i;
			i++;
		}

		if (k%i == 0)
		{
			a7 = i;
			i++;
		}

		if (k%i == 0)
		{
			a8 = i;
			i++;
		}

		if (k%i == 0)
		{
			a9 = i;
			i++;
		}

		if (k%i == 0)
		{
			a10 = i;
			i++;
		}*/


/*		if (k = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + 10)
		{
			cout<< "k:" << k << endl;
			cout<< "factors are:" << a1 << ",";
			cout<< "factors are:" << a2 << ",";
			cout<< "factors are:" << a3 << ",";
			cout << "factors are:" << a4 << ",";
			cout << "factors are:" << a5 << ",";
			cout << "factors are:" << a6 << ",";
			cout << "factors are:" << a7 << ",";
			cout << "factors are:" << a8 << ",";
			cout << "factors are:" << a9 << ",";
			cout << "factors are:" << a10 << ",";
			cout << "factors are:" << a11 << ",";
		}

		if (i = k)k++;
	} while (i = m);
*/

	const int m = 1000;
	int k1, k2, k3, k4, k5, k6, k7, k8, k9, k10;
	int i, a, n, s;

	for (a = 2; a <= m; a++)
	{
		n = 0;
		s = a;
		for (i = 1; i < a; i++)
		{
			if (a%i == 0)
			{
				n++;
				s = s - i;
				switch (n)
				{
				case 1:k1 = i; break;
				case 2:k2 = i; break;
				case 3:k3 = i; break;
				case 4:k4 = i; break;
				case 5:k5 = i; break;
				case 6:k6 = i; break;
				case 7:k7 = i; break;
				case 8:k8 = i; break;
				case 9:k9 = i; break;
				case 10:k10 = i; break;
				}
			}
			if (s == 0)
			{
				cout << a << "is perfect number." << endl;
				cout << "factors:"  ;
				if (n > 1)
					cout << k1 << k2;
				if (n > 2)
					cout << k3;
				if (n > 3)
					cout << k4;
				if (n > 4)
					cout << k5;
				if (n > 5)
					cout << k6;
				if (n > 6)
					cout << k7;
				if (n > 7)
					cout << k8;
				if (n > 8)
					cout << k9;
				if (n > 9)
					cout << k10;
				cout << endl;

			}
		}
	}


	int key;
	cin >> key;
	return 0;
}